#include <hardware/hardware.h>
#include <fcntl.h>
#include <cutils/log.h>

struct led_module_t
{
    struct hw_module_t hw_module;
};
struct led_control_device_t
{
    //注意，led_control_device_t结构体的第一个成员变量必须要是hw_device_t,这是由于后面会有结构体向父结构体强制类型转换。
    struct hw_device_t hw_device;
    //额外定义了两个函数指针，这也是该结构体的关键所在
    int (*set_on)(struct led_control_device_t *dev, int32_t led);
    int (*set_off)(struct led_control_device_t *dev, int32_t led);
};
//在这里定义了该HAL模块的ID号，后面的service就是通过这个ID来找到这个HAL模块的。
#define LED_HARDWARE_MODULE_ID "led_hal"